home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_nn-tk.idb / usr / freeware / bin / nnusage.z / nnusage
Encoding:
Text File  |  1999-04-16  |  1.5 KB  |  99 lines

  1. #!/sbin/sh
  2.  
  3. # Generated by nn release 6.5.0 CURRENT #119 at Jan 11 01:14
  4.  
  5. VERSION="6.5.0 CURRENT #119"
  6. INEWS="/usr/freeware/lib/nn/inews"
  7. INEWS_DIR="/usr/freeware/lib/nn"
  8. UUENVIEW=uuenview
  9. AWK="awk"
  10. NNTP=true
  11. ACTIVE=/usr/spool/news/.nn/ACTIVE
  12. NNTPCACHE=
  13. LOG=/usr/freeware/lib/nn/Log
  14. TMP=${TMPDIR-/usr/tmp}
  15. DB=/usr/spool/news/.nn
  16. BIN=/usr/freeware/bin
  17. LIB=/usr/freeware/lib/nn
  18. AUTH=false
  19. XNEWSREADER=true
  20. INEWSWAIT=0
  21. SYNCHRO=true
  22.  
  23. # ---- end of prefix
  24.  
  25. # CONFIG file is inserted here
  26.  
  27. OPT=""
  28. SORTMODE=""
  29. ALL=false
  30.  
  31. LOOP=true
  32. while $LOOP
  33. do
  34.     case "$1" in
  35.     -a)    OPT="$OPT -a"
  36.         ALL=true
  37.         shift ;;
  38.     -t)    SORTMODE="+1nr"
  39.         shift ;;
  40.     -at)    OPT="$OPT -a"
  41.         ALL=true
  42.         SORTMODE="+1nr"
  43.         shift ;;
  44.     -*)    echo "$0: unknown option: $1"
  45.         exit 1
  46.         ;;
  47.     *)    LOOP=false
  48.         ;;
  49.     esac
  50. done
  51.  
  52. if [ -f $DB/acct -a -f $BIN/nnacct ] ; then
  53.     if $AUTH ; then
  54.     echo "USER        USAGE  QUOTA  LAST_ACTIVE   COST/PERIOD   POLICY"
  55.     else
  56.     echo "USER        USAGE  QUOTA  LAST_ACTIVE   COST/PERIOD"
  57.     fi
  58.     $BIN/nnacct -r $OPT $@ | sed -e 1d | sort $SORTMODE
  59.     exit
  60. fi
  61.  
  62. OLDLOG=${LOG}.old
  63. if [ ! -s ${OLDLOG} ]
  64. then
  65.   OLDLOG=""
  66. fi
  67.  
  68. cat $OLDLOG $LOG |
  69. if $ALL
  70. then
  71.     grep '^U:'
  72. else
  73.     grep "^U:.*(${LOGNAME-$USER})"
  74. fi |
  75.  
  76. ${AWK} '
  77. BEGIN {
  78.     any=0
  79. }
  80. NF == 7 {
  81.     if (split($7, t, ".") == 2) {
  82.         u[$5] += t[1] * 60 + t[2]
  83.         if (any == 0) printf("Usage since %s %d, %s\n", $2, $3, $4)
  84.         any=1
  85.     }
  86. }
  87. END {
  88.     if (!any) {
  89.         printf("No usage statistics\n")
  90.         exit
  91.     }
  92.     for (n in u) {
  93.         name=substr(n, 2, length(n)-3)
  94.         printf("%-10.10s%8d.%02d\n", name, u[n]/60, u[n]%60);
  95.     }
  96. }' |
  97.  
  98. sort $SORTMODE
  99.